package cn.xi.dao;

import cn.xi.pojo.CheckGroup;
import cn.xi.pojo.CheckItem;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface CheckGroupDao {
    // 查询所有 t_checkgroup 表数据
    @Select("select * from t_checkgroup")
    Page<CheckGroup> findpage();

    //条件查询 t_checkgroup 表数据
    @Select("select * from t_checkgroup where code like concat('%',#{queryString},'%') or name like concat('%',#{queryString},'%')")
    Page<CheckGroup> findpagewhere(String queryString);

    //查询 t_checkitem 表数据
    @Select("select id,code,name, remark from t_checkitem")
    List<CheckItem> findcheckitem();

    //新增 t_checkgroup 表数据
    @Insert("insert into t_checkgroup (code,name,helpCode,sex,remark,attention) values(#{code},#{name},#{helpCode},#{sex},#{remark},#{attention})")
    void save(CheckGroup checkGroup);

    //查询最后一次新增id的值
    @Select("select LAST_INSERT_ID()")
    Integer getid();

    //新增 关系表 t_checkgroup_checkitem  数据
    @Insert("insert into t_checkgroup_checkitem (checkgroup_id,checkitem_id)values(#{cgid},#{ciid})")
    void saveId(@Param(value = "cgid") Integer cgid, @Param(value = "ciid") Integer ciid);

    //根据id查询 t_checkgroup 表数据
    @Select("select * from t_checkgroup where id=#{id}")
    CheckGroup findgroupid(Integer id);

    //根据t_checkgroup表id查询关系表t_checkgroup_checkitem 所有对应的 checkitem_id id值
    @Select("select checkitem_id from t_checkgroup_checkitem where checkgroup_id =#{id}")
    Integer[] checkitemIds(Integer id);

    //修改t_checkgroup 表的数据
    @Update("update t_checkgroup set code=#{code},name=#{name},helpCode=#{helpCode},sex=#{sex},remark=#{remark},attention=#{attention} where id = #{id}")
    void update(CheckGroup checkGroup);

    //根据id删除t_checkgroup_checkitem表的数据
    @Delete("delete from t_checkgroup_checkitem where checkgroup_id=#{id}")
    void deleteitemandgroup(Integer id);

    //根据id删除t_checkgroup表的数据
    @Delete("delete from t_checkgroup where id=#{id}")
    void delete(Integer id);
}
